Methods and systems for synchronizing playback of media content items

ABSTRACT

Systems and methods are described for synchronizing playback of media content items. A first media content item is displayed at first user equipment and second user equipment. At least one playback parameter relating to the operation of the first user equipment and/or the second user equipment is determined. A determination is made as to whether the at least one playback parameter is less than a first playback parameter threshold. In response to determining that the at least one playback parameter is less than the first playback parameter threshold, at least one playback characteristic of the first media content item at the first user equipment and/or the second user equipment is adjusted to cause the display of the first media content item at first user equipment and second user equipment to be synchronized.

BACKGROUND

The present disclosure relates to methods and systems for synchronizingplayback of media content items, and in particular, but not exclusively,to exchanging user equipment operating statistics during a group viewingsession to synchronize the display of a media content item on aplurality of user equipment.

SUMMARY

Nowadays, there is an increasing trend for the consumption of mediacontent from the home, yet people may wish to share a viewing experiencewith others, who may be in different locations. However, it is notalways possible for people to gather at one place and consume mediacontent together at the same time, e.g., due to a large distance betweenpeople wishing to share a viewing experience, or even restrictions ontravel preventing people from gathering for a group session.

To address this need, service providers have started to offer groupwatching capability, where the viewing of a media content item can besynchronized on multiple user equipment, e.g., so that friends andfamily can gather virtually through the group watching service to watchthe media content even when apart. However, current group watchingservices lack the sophistication to address the constraints of each userwho joins a group watching session. For example, different users havingdifferent availabilities of bandwidth, may result in a user having alower available bandwidth going out of sync from another user having ahigher available bandwidth, e.g., due to buffering or stalling. As aresult, the overall quality of the group watching experience is reduced,since different users of the group watching session may be unable tofollow conversation between other users of the group watching session,for example.

Systems and methods are provided herein for synchronizing playback ofmedia content items. Such systems and methods may provide an improvedgroup viewing experience, e.g., by automatically adjusting, for eachviewer participating in a group watching session, one or more playbackcharacteristics of a media content item being viewed.

According to some examples of the systems and methods provided herein, afirst media content item is displayed, e.g., concurrently, at multipleuser equipment devices, e.g., first user equipment and second userequipment. For example, a first media content item may be displayed aspart of a group watching session that multiple users join, e.g., fromdifferent locations, to view the same media content item, or similarversions of the media content item, at substantially the same time. Atleast one playback parameter relating to the operation of the first userequipment and/or the second user equipment is determined. For example, aplayback parameter may be any factor or factors that contribute to ordefine the operation of the user equipment to allow the user equipmentto display a media content item, such as bandwidth available to the userequipment and/or the amount of data buffered by the user equipment,amongst others. The at least one playback parameter may be compared to afirst playback parameter threshold to determine whether the at least oneplayback parameter is less than, equal to or greater than the firstplayback parameter threshold. For example, the first playback parameterthreshold may be a bandwidth limit, e.g., a lower bandwidth limit suchas 5 megabits per second, and/or a buffered data limit, e.g., a lowerbuffered data limit such as 10 seconds of buffered data. For example,the at least one playback parameter may comprise a bandwidth availableto the first user equipment, a bandwidth available to the second userequipment, an amount of data buffered on the first user equipment,and/or an amount of data buffered on the second user equipment. Inresponse to determining that the at least one playback parameter is lessthan the first playback parameter threshold, at least one playbackcharacteristic of the first media content item is adjusted at the firstuser equipment and/or at least one playback characteristic of the firstmedia content item is adjusted at the second user equipment, e.g., tosynchronize the display of the first media content item at the firstuser equipment and the second user equipment. For example, the at leastone playback characteristic may comprise a playback speed of the firstmedia content item at the first user equipment, a playback speed of thefirst media content item at the second user equipment, a playbackquality of the first media content item at the first user equipment,and/or a playback quality of the first media content item at the seconduser equipment. In some examples, the playback speed of the first mediacontent item may be adjusted, e.g., increased or decreased, at the firstuser equipment and/or the second user equipment to synchronize thedisplay of the first media content item. In some examples, the playbackquality of the first media content item may be adjusted, e.g., increasedor decreased, at the first user equipment and/or the second userequipment to synchronize the display of the first media content item. Insome examples, the at least one playback characteristic of the firstmedia content item may be adjusted to effect a change in the at leastone playback parameter.

In some examples, the at least one playback parameter relating to theoperation of the first user equipment and/or the second user equipmentis monitored, e.g., for a predetermined period. An average value for theat least one playback parameter may be determined, e.g., over thepredetermined period. The at least one playback parameter, and/or theaverage value for the at least one playback parameter, may be comparedto the playback parameter threshold to predict whether the at least oneplayback parameter will be, or is likely to be, less than the firstplayback parameter threshold, e.g., at a future point in time of thegroup watching session. For example, based on monitoring the at leastone playback parameter over the predetermined period, a drop in abandwidth and/or an amount of buffered data at the first and/or seconduser equipment may be predicted or identified, which may indicate thatthere will be, or is likely to be, an interruption in the display of thefirst media content item on the first and/or second user equipment,e.g., a stalling of 1 second in a subsequent 10 seconds of display,based on a lack of available bandwidth and/or not enough buffered data.

In some examples, a period for which the at least one playback parameteris less than the first playback parameter threshold may be determined.The playback speed or the playback quality may be selectively adjustedbased on the period for which the at least one playback parameter isless than the first playback parameter threshold.

In some examples, one or more user preferences of a user of the firstuser equipment and/or a user of the second user equipment may bedetermined. The playback speed or the playback quality may beselectively adjusted based on the one or more user preferences.

In some examples, the type of the first media content item may bedetermined. The playback speed or the playback quality may beselectively adjusted based on the type of the first media content item.

In some examples, a period for which at least one playback parameter ofthe first user equipment is less than the first playback parameterthreshold may be determined. The period for which at least one playbackparameter of the first user equipment is less than the first playbackparameter threshold may be compared to a threshold period (or value) todetermine whether the period is greater than the threshold period. Inresponse to determining that the period is greater than the thresholdperiod, a second media content item may be selected for display, e.g.,on the first and/or second user equipment. For example, the second mediacontent item may be displayed on the second user equipment during theperiod for which the at least one playback parameter of the first userequipment is shorter than the first playback parameter threshold.

In some examples, the at least one playback parameter may be determinedprior to displaying the first media content item (e.g., starting thegroup watching session). A first version of the first media content itemmay be selected for display at first user equipment, e.g., based on theat least one playback parameter determined prior to starting the groupwatching session. A second version of the first media content item maybe selected for display at the second user equipment, e.g., based on theat least one playback parameter determined prior to starting the groupwatching session.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 illustrates an overview of a system displaying media content in agroup watching session, in accordance with some examples of thedisclosure;

FIG. 2 is a block diagram showing components of an exemplary system forproviding a group watching session, in accordance with some examples ofthe disclosure;

FIG. 3 is a flowchart representing a process for synchronizing mediacontent during a group watching session, in accordance with someexamples of the disclosure;

FIG. 4A is a flowchart representing another process for synchronizingmedia content during a group watching session, in accordance with someexamples of the disclosure; and FIG. 4B is a continuation of theflowchart in FIG. 4A.

DETAILED DESCRIPTION

FIG. 1 illustrates an overview of a system 100 for synchronizing thedisplay of media content items, e.g., across a plurality of userequipment, in accordance with some examples of the disclosure. In someexamples, system 100 includes user equipment 102, such as a tabletcomputer, a smartphone, a smart television, or the like, configured todisplay media content to the user. System 100 may also include network104, such as the Internet, configured to communicatively couple userequipment 102 to one or more servers 106 and/or one or more contentdatabases 108 from which media content may be obtained for display onthe user equipment 102. User equipment 102 and server 106 may becommunicatively coupled to one another by way of network 104, and server106 may be communicatively coupled to content database 108 by way of oneor more communication paths, such as a proprietary communication pathand/or network 104.

In some examples, system 100 may comprise an application that providesguidance through an interface, e.g., a graphical user interface, thatallows users to join a group watching session and efficiently navigatemedia content selections and easily identify media content that they maydesire, such as content provided on a database on one or more livestreams. Such guidance is referred to herein as an interactive contentguidance application or, sometimes, a content guidance application, amedia guidance application, or a guidance application. In some examples,the application may be configured to provide a recommendation for acontent item, e.g., based on the operational capabilities of userequipment 102. For example, the application may provide a user with aselectable option for displaying a media content item that is suitablefor a group watching session.

Interactive media guidance applications may take various forms,depending on the content for which they provide guidance. One typicaltype of media guidance application is an interactive television programguide. Interactive television program guides (sometimes referred to aselectronic program guides) are well-known guidance applications that,among other things, allow users to navigate among and locate many typesof content or media assets. Interactive media guidance applications maygenerate graphical user interface screens that enable a user to navigateamong, locate and select content. As referred to herein, the terms“media asset”, “content items” and “content” should each be understoodto mean an electronically consumable user asset, such as televisionprogramming, as well as pay-per-view programs, on-demand programs (as invideo-on-demand (VOD) systems), Internet content (e.g., streamingcontent, downloadable content, Webcasts, etc.), video clips, audio,content information, pictures, rotating images, documents, playlists,websites, articles, books, electronic books, blogs, chat sessions,social media, applications, games, and/or any other media or multimediaand/or combination of the same. Guidance applications also allow usersto navigate amid and locate content. As referred to herein, the term“multimedia” should be understood to mean content that utilizes at leasttwo different content forms described above, for example, text, audio,images, video, or interactivity content forms. Content may be recorded,played, displayed or accessed by user equipment devices, but can also bepart of a live performance.

The media guidance application and/or any instructions for performingany of the examples discussed herein may be encoded on computer-readablemedia. Computer-readable media includes any media capable of storingdata. The computer-readable media may be transitory, including, but notlimited to, propagating electrical or electromagnetic signals, or may benon-transitory, including, but not limited to, volatile and non-volatilecomputer memory or storage devices such as a hard disk, floppy disk, USBdrive, DVD, CD, media card, register memory, processor cache, randomaccess memory (RAM), etc.

With the ever-improving capabilities of the Internet, mobile computing,and high-speed wireless networks, users are accessing media on userequipment devices on which they traditionally did not. As referred toherein, the phrases “user equipment device,” “user equipment,” “userdevice,” “electronic device,” “electronic equipment,” “media equipmentdevice,” or “media device” should be understood to mean any device foraccessing the content described above, such as a television, a Smart TV,a set-top box, an integrated receiver decoder (IRD) for handlingsatellite television, a digital storage device, a digital media receiver(DMR), a digital media adapter (DMA), a streaming media device, a DVDplayer, a DVD recorder, a connected DVD, a local media server, a BLU-RAYplayer, a BLU-RAY recorder, a personal computer (PC), a laptop computer,a tablet computer, a WebTV box, a personal computer television (PC/TV),a PC media server, a PC media center, a hand-held computer, a stationarytelephone, a personal digital assistant (PDA), a mobile telephone, aportable video player, a portable music player, a portable gamingmachine, a smartphone, or any other television equipment, computingequipment, or wireless device, and/or combination of the same. In someexamples, the user equipment device may have a front-facing screen and arear-facing screen, multiple front screens, or multiple angled screens.In some examples, the user equipment device may have a front-facingcamera and/or a rear-facing camera. On these user equipment devices,users may be able to navigate among and locate the same contentavailable through a television. Consequently, media guidance may beavailable on these devices, as well. The guidance provided may be forcontent available only through a television, for content available onlythrough one or more of other types of user equipment devices, or forcontent available through both a television and one or more of the othertypes of user equipment devices. The media guidance applications may beprovided as online applications (i.e., provided on a website), or asstand-alone applications or clients on user equipment devices. Variousdevices and platforms that may implement media guidance applications aredescribed in more detail below.

One of the functions of the media guidance application is to providemedia guidance data to users. As referred to herein, the phrase “mediaguidance data” or “guidance data” should be understood to mean any datarelated to content or data used in operating the guidance application.For example, the guidance data may include program information, subtitledata, guidance application settings, user preferences, user profileinformation, media listings, media-related information (e.g., broadcasttimes, broadcast channels, titles, descriptions, ratings information(e.g., parental control ratings, critics' ratings, etc.), genre orcategory information, actor information, logo data for broadcasters' orproviders' logos, etc.), media format (e.g., standard definition, highdefinition, 3D, etc.), on-demand information, blogs, websites, and anyother type of guidance data that is helpful for a user to navigate amongand locate desired content selections.

FIG. 2 is an illustrative block diagram showing exemplary system 200configured to display media content. Although FIG. 2 shows system 200 asincluding a number and configuration of individual components, in someexamples, any number of the components of system 200 may be combinedand/or integrated as one device, e.g., as user equipment 102. System 200includes computing device 202, server 204, and content database 206,each of which is communicatively coupled to communication network 208,which may be the Internet or any other suitable network or group ofnetworks. In some examples, system 200 excludes server 204, andfunctionality that would otherwise be implemented by server 204 isinstead implemented by other components of system 200, such as computingdevice 202. In still other examples, server 204 works in conjunctionwith computing device 202 to implement certain functionality describedherein in a distributed or cooperative manner.

Server 204 includes control circuitry 210 and input/output (hereinafter“I/O”) path 212, and control circuitry 210 includes storage 214 andprocessing circuitry 216. Computing device 202, which may be a personalcomputer, a laptop computer, a tablet computer, a smartphone, a smarttelevision, a smart speaker, or any other type of computing device,includes control circuitry 218, I/O path 220, speaker 222, display 224,and user input interface 226, which in some examples provides a userselectable option for enabling and disabling the display of modifiedsubtitles. Control circuitry 218 includes storage 228 and processingcircuitry 230. Control circuitry 210 and/or 218 may be based on anysuitable processing circuitry such as processing circuitry 216 and/or230. As referred to herein, processing circuitry should be understood tomean circuitry based on one or more microprocessors, microcontrollers,digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores). Insome examples, processing circuitry may be distributed across multipleseparate processors, for example, multiple of the same type ofprocessors (e.g., two Intel Core i9 processors) or multiple differentprocessors (e.g., an Intel Core i7 processor and an Intel Core i9processor).

Each of storage 214, storage 228, and/or storages of other components ofsystem 200 (e.g., storages of content database 206, and/or the like) maybe an electronic storage device. As referred to herein, the phrase“electronic storage device” or “storage device” should be understood tomean any device for storing electronic data, computer software, orfirmware, such as random-access memory, read-only memory, hard drives,optical drives, digital video disc (DVD) recorders, compact disc (CD)recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders,digital video recorders (DVRs, sometimes called personal videorecorders, or PVRs), solid state devices, quantum storage devices,gaming consoles, gaming media, or any other suitable fixed or removablestorage devices, and/or any combination of the same. Each of storage214, storage 228, and/or storages of other components of system 200 maybe used to store various types of content, metadata, and or other typesof data. Non-volatile memory may also be used (e.g., to launch a boot-uproutine and other instructions). Cloud-based storage may be used tosupplement storages 214, 228 or instead of storages 214, 228. In someexamples, control circuitry 210 and/or 218 executes instructions for anapplication stored in memory (e.g., storage 214 and/or 228).Specifically, control circuitry 214 and/or 228 may be instructed by theapplication to perform the functions discussed herein. In someimplementations, any action performed by control circuitry 214 and/or228 may be based on instructions received from the application. Forexample, the application may be implemented as software or a set ofexecutable instructions that may be stored in storage 214 and/or 228 andexecuted by control circuitry 214 and/or 228. In some examples, theapplication may be a client/server application where only a clientapplication resides on computing device 202, and a server applicationresides on server 204.

The application may be implemented using any suitable architecture. Forexample, it may be a stand-alone application wholly implemented oncomputing device 202. In such an approach, instructions for theapplication are stored locally (e.g., in storage 228), and data for useby the application is downloaded on a periodic basis (e.g., from anout-of-band feed, from an Internet resource, or using another suitableapproach). Control circuitry 218 may retrieve instructions for theapplication from storage 228 and process the instructions to perform thefunctionality described herein. Based on the processed instructions,control circuitry 218 may determine what action to perform when input isreceived from user input interface 226.

In client/server-based examples, control circuitry 218 may includecommunication circuitry suitable for communicating with an applicationserver (e.g., server 204) or other networks or servers. The instructionsfor carrying out the functionality described herein may be stored on theapplication server. Communication circuitry may include a cable modem,an Ethernet card, or a wireless modem for communication with otherequipment, or any other suitable communication circuitry. Suchcommunication may involve the Internet or any other suitablecommunication networks or paths (e.g., communication network 208). Inanother example of a client/server-based application, control circuitry218 runs a web browser that interprets web pages provided by a remoteserver (e.g., server 204). For example, the remote server may store theinstructions for the application in a storage device. The remote servermay process the stored instructions using circuitry (e.g., controlcircuitry 210) and/or generate displays. Computing device 202 mayreceive the displays generated by the remote server and may display thecontent of the displays locally via display 224. This way, theprocessing of the instructions is performed remotely (e.g., by server204) while the resulting displays, such as the display windows describedelsewhere herein, are provided locally on computing device 202.Computing device 202 may receive inputs from the user via inputinterface 226 and transmit those inputs to the remote server forprocessing and generating the corresponding displays.

A user may send instructions, e.g., to request modified subtitles, tocontrol circuitry 210 and/or 218 using user input interface 226. Userinput interface 226 may be any suitable user interface, such as a remotecontrol, trackball, keypad, keyboard, touchscreen, touchpad, stylusinput, joystick, voice recognition interface, gaming controller, orother user input interfaces. User input interface 226 may be integratedwith or combined with display 224, which may be a monitor, a television,a liquid crystal display (LCD), an electronic ink display, or any otherequipment suitable for displaying visual images.

Server 204 and computing device 202 may transmit and receive content anddata via I/O path 212 and 220, respectively. For instance, I/O path 212and/or I/O path 220 may include a communication port(s) configured totransmit and/or receive (for instance to and/or from content database206), via communication network 208, content item identifiers, contentmetadata, natural language queries, and/or other data. Control circuitry210, 218 may be used to send and receive commands, requests, and othersuitable data using I/O paths 212, 220.

FIG. 3 is a flowchart representing an illustrative process 300 forsynchronizing the displaying of media content across multiple userequipment, in accordance with some examples of the disclosure. While theexample shown in FIG. 3 refers to the use of system 100, as shown inFIG. 1 , it will be appreciated that the illustrative process shown inFIG. 3 , and any of the other following illustrative processes, may beimplemented on system 100 and system 200, either alone or incombination, or on any other appropriately configured systemarchitecture.

At step 302, a first media content item, e.g., primary media content, isdisplayed, e.g., concurrently, at first user equipment 102 a and seconduser equipment 102 b, e.g., using control circuitry. For example,control circuitry may be configured to allow user 110 and user 112 toeach select and view the first media content item using a contentguidance application, e.g., as part of a group watching session, so thateach of user 110 and user 112 can watch the same first media contentitem, or a similar version of the first media content item, at the sametime. In FIG. 1 , users 110, 112 have each selected to join a groupwatching session to view a movie comprising a car chase scene. However,the first media content item may comprise any type of audio and/orvisual media content. For example, the media content item may be atransmission of a live event, such as a football game, or an audiorecording of a concert.

At step 304, control circuitry determines at least one playbackparameter relating to the operation of the first user equipment 102 aand/or the second user equipment 102 b. In the context of the presentdisclosure, the term playback parameter is understood to mean anynumerical or other measurable factor forming one of a set that defineshow system 100 operates or sets the conditions of its operation. Forexample, one playback parameter may be an amount of bandwidth availableto user equipment 102. Another playback parameter may be an amount ofdata buffered by user equipment 102. As such, control circuitry may beconfigured to determine an amount of bandwidth available to each of thefirst user equipment 102 a and the second user equipment 102 b, and/oran amount of data buffered by each of the first user equipment 102 a andthe second user equipment 102 b. Control circuitry may be configured todetermine the amount of available bandwidth and/or the amount of databuffered by at least one of the first user equipment 102 a and thesecond user equipment 102 b at any given point in time. Additionally oralternatively, control circuitry may be configured to monitor, e.g.,over a predetermined period, how the available bandwidth varies and/orhow the amount of data buffered changes, e.g., during a group watchingsession. In some examples, data relating to one or more determinedplayback parameters may be stored, e.g., in storage of server 106. Inthis manner, control circuitry is able to analyze data relating to liveand/or historic playback parameters for at least one of the first userequipment 102 a and the second user equipment 102 b. For example,control circuitry may analyse data relating to the playback parametersof the first and second user equipment 102 a, 102 b to determine thatthe first user equipment 102 a has a higher amount of availablebandwidth compared to the second user equipment 102 b, at any giveninstant and/or as an historical average. In other words, controlcircuitry may be configured to determine, store and/or analyse liveand/or historic playback parameters, e.g., playback parameterstatistics, relating to the operation of the first user equipment 102 aand/or the second user equipment 102 b. In the example shown in FIG. 1 ,the first user equipment 102 a is connected to server 106 by virtue of afirst network connection 114, and the second user equipment 102 b isconnected to server 106 by virtue of a second network connection 116.Control circuitry, such as control circuitry of server 106, may beconfigured to determine and/or monitor one or more playback parametersrelating to the operation of the first user equipment 102 a and/or thesecond user equipment 102 b, such as a speed of network connection 114,116. Additionally or alternatively, first user equipment 102 a and/orthe second user equipment 102 b may be configured to determine and/ormonitor one or more playback parameters relating to their own operation,and transmit data relating to one or more of their playback parameters(e.g., playback parameter statistics) to server 106. In some examples,first user equipment 102 a and the second user equipment 102 b may beconfigured to exchange data, e.g., directly, relating to one or more oftheir playback parameters (e.g., playback parameter statistics), suchthat only one of the first user equipment 102 a and the second userequipment 102 b need communicate with server 106. In some examples,server 106 may be configured to transmit data relating to one or more ofthe playback parameters (e.g., playback parameter statistics) of one ofthe first user equipment 102 a and the second user equipment 102 b tothe other of the first user equipment 102 a and the second userequipment 102 b. In this manner, each of the first user equipment 102 a,the second user equipment 102 b and the server may be able to analyseplayback parameters relating to the operation of the first userequipment and/or the second user equipment, e.g., to determine a set ofplayback parameter statistics including playback parameter data for eachof user equipment 102 in a group watching session.

At step 306, control circuitry determines whether at least one playbackparameter relating to the operation of the first user equipment 102 aand/or the second user equipment 102 b is less than a first playbackparameter threshold, which may relate to any operational parameter thataffects the synchronization of the display of the first media contentitem across the first user equipment 102 a and the second user equipment102 b during the group watching session. For example, control circuitrymay determine that the bandwidth available to the first user equipment102 a has dropped below a threshold bandwidth value. When the bandwidthavailable to first user equipment 102 a drops below the thresholdbandwidth value, an interruption in the display of the first mediacontent item at first user equipment may be experienced by user 110,which may cause user 110 to be unable to follow conversation betweenother users of the group watching sessions. Additionally oralternatively, control circuitry may determine that the amount ofbuffered data at the first user equipment 102 a has dropped below athreshold buffered data value. When the amount of buffered dataavailable to first user equipment 102 a drops below the thresholdbuffered data value, an interruption in the display of the first mediacontent item at first user equipment may be experienced by user 110,which may cause user 110 to be unable to follow conversation betweenother users of the group watching sessions. In some examples, thethreshold value for the bandwidth and/or the buffered data may be setaccording to a predetermined value, e.g., a value that is standardizedacross all the user equipment 102 participating in the group watchingsession, e.g., based on a setting received from server 106, or a valuethat is set individually for each user equipment 102, e.g., based on oneor more user preferences. In some examples, the threshold values for thebandwidth and/or the buffered data may be dynamic values, e.g., valuesthat are updated during the group watching session based on playbackparameter statistics for the participants in the group watching session.

At step 308, control circuitry adjusts at least one playbackcharacteristic of the first media content item at the first userequipment 102 a and/or the second user equipment 102 b. In the contextof the present disclosure, the term playback characteristic isunderstood to be one or more audio and/or visual characteristics of amedia content item, e.g., that are experienced by a user during theviewing of the media content item, such as image quality, sound quality,frame rate, etc. As such, step 308 may comprise adjusting one or moreplayback characteristics of the first media content item displayed oneither or both of the first user equipment 102 a and the second userequipment 102 b. Where one or more playback characteristics are adjustedon both the first user equipment 102 a and the second user equipment 102b, the adjusting need not relate to the same or similar playbackcharacteristics. For example, in some scenarios, step 308 may compriseadjusting the audio/visual quality of the display of the first mediacontent item on the first user equipment 102 a and adjusting the framerate of the first media content item on the second user equipment 102 b.

Returning to the examples given relating to step 306, where it has beendetermined that the bandwidth available to the first user equipment 102a has dropped below a threshold bandwidth value, and thus aninterruption in the display of the first media content item on the firstuser equipment 102 a is possible, control circuitry may increase theframe rate (playback speed) of the first media content item displayed onthe first user equipment 102 a, e.g., to compensate for a period ofinterruption in the display of the first media content item on the firstuser equipment 102 a. Additionally or alternatively, control circuitrymay decrease the frame rate (playback speed) of the first media contentitem displayed on the second user equipment 102 b, e.g., to compensatefor the period of interruption in the display of the first media contentitem on the first user equipment 102 a. For example, consider a scenariowhere an interruption in the display of the first media content item isidentified or predicted based on the group playback statistics, whichshow that first user equipment 102 a is going to experience drop inbandwidth, which would result in stalling of 1 second in a subsequent10-second period. In this case, the playback speed may be reduced, e.g.,from 1× to 0.9×, on the second user equipment 102 b having goodbandwidth, and the playback speed may be increased, e.g., from 1× to1.1×, on the first user equipment 102 a on which an interruption isexpected to occur. In this manner the first and second users 110, 112will each watch 9 seconds of content in the next 10 seconds in spite ofthe first user 110 experiencing an interruption in the display of thefirst media content item. Thus, both the first and second users 110, 112will remain in sync after the period of low available bandwidth at thefirst user equipment. In some examples, control circuitry may beconfigured to automatically cause an increase or reduction in theplayback speed by an amount that is not noticeable to the user, e.g., by1% or 2%. In other examples, an increase or reduction in the playbackspeed may be more significant, e.g., by 10%. In such cases, controlcircuitry may display an icon 118, which informs the user of theadjustment to the playback speed. In some examples, the expectedduration of the adjustment to the playback speed may also be indicatedto the user.

Additionally or alternatively, where it has been determined that theamount of buffered data available to first user equipment 102 a drops(or is going to drop) below the threshold buffered data value, controlcircuitry, at step 308, may adjust the audio and/or visual quality ofthe display of the first media content item at the first user device 102a. For example, control circuitry may determine that the second userequipment 102 b has available bandwidth that is sufficient to buffer 30seconds of data, while the first user equipment 102 a has loweravailable bandwidth that is sufficient to display only the first mediacontent item, e.g., at a similar quality to the display of the firstmedia content item on the second user equipment 102 b, but withoutbuffering any data. In such a case, the first user 110 may experience aninterruption in the display on the first media content item on the firstuser equipment 102 a as a result of little or no buffered data beingstored. In such a scenario, control circuitry may reduce the audioand/or visual quality of the display of the first media content item atthe first user device 102 a, e.g., to use some of the availablebandwidth for the storage of buffered data. In the example shown in FIG.1 , user device 102 a is displaying the first media content item in areduced quality compared to the display of the first media content itemon the second user equipment. In some examples, the duration of a periodof reduced quality display may be limited to a period sufficient toallow the first user equipment 102 a to store the same, or similar,amount of buffered data as the second user equipment 102 b, e.g., 30seconds of buffered data. Once the amount of buffered data at the firstuser equipment 102 a is similar to the amount of buffered data at thesecond user equipment 102 b, the audio and/or visual quality of thedisplay of the first media content item on the first user equipment 102a may be increased, e.g., to a level that allows for the amount ofbuffered data to be maintained at a sufficient level to allowframe-by-frame synchronization across first and second user equipment102 a, 102 b.

The actions or descriptions of FIG. 3 may be used with any other exampleof this disclosure, e.g., the example described below in relation toFIGS. 4A and 4B. In addition, the actions and descriptions described inrelation to FIG. 3 may be done in any suitable alternative orders or inparallel to further the purposes of this disclosure.

FIGS. 4A and 4B shows a flowchart representing an illustrative processfor synchronizing the displaying of media content across multiple userequipment. While the example shown in FIGS. 4A and 4B refers to the useof system 100, as shown in FIG. 1 , it will be appreciated that theillustrative process shown in FIGS. 4A and 4B may be implemented onsystem 100 and system 200, either alone or in combination, or on anyother appropriately configured system architecture.

At step 402, control circuitry initiates a group watching session onmultiple user equipment 102, such as first user equipment 102 a andsecond user equipment 102 b. For example, first user 110 may requestthat a group watching session is initiated, and control circuitry maysend one or more invites for other users to join the group watchingsession, such as second user 112. It is understood, however, that thegroup watching session may be initiated in any appropriate manner. Oncethe group watching session is initiated, control circuitry may beconfigured to allow the exchange of data between each of server 106,first user equipment 102 a and second user equipment 102 b. For example,process 400 may comprise a step of receiving at server 106 data relatingto one or more playback parameters of the first user equipment 102 a andsecond user equipment 102 b. In some cases, the server may receive a setof playback statistics comprising playback parameter data from each ofthe user equipment 102 that have joined the group watching session.

At step 404, control circuitry determines at least one playbackparameter relating to the operation of each of a first user equipment102 a and a second user equipment 102 b, e.g., prior to the display of afirst media content item on either of the first user equipment 102 a andsecond user equipment 102 b. The determination of the at least oneplayback parameter may be made in a similar manner to that described inrelation to step 304 of process 300. For example, control circuitry maydetermine the available bandwidth, e.g., current and/or historical, ateach of the first user equipment 102 a and second user equipment 102 b,and/or any other appropriate playback parameter, such as theprocessing/operational capabilities of the first user equipment 102 aand second user equipment 102 b, which may affect the ability of userequipment to display a media content item. In some examples, step 404may be performed as a pre-display check to determine the respectivecapabilities of each of the user equipment 102 that have joined thesession.

At step 406, control circuitry receives a selection of a first mediacontent item from one of the first user 110 and the second user 112. Forexample, first user 110 may issue a command to the first user equipment102 a to display a first media content item on each of the userequipment 102 participating in the group watching session.

At step 408, control circuitry provides first media content item versionrecommendations to each of the first user equipment 102 a and the seconduser equipment 102 b, e.g., based on the determination of the at leastone playback parameter relating to the operation of each of a first userequipment 102 a and a second user equipment 102 b.

In some cases, when the users 110, 112 of a group watching sessiondecide to watch a first media content item, the control circuitry candetermine the most suitable version (or versions) of the first mediacontent item for use in the group watching session, e.g., based onplayback parameter statistics for the group determined at step 404. Forexample, if one of the users 110, 112 is expected to have bandwidthissues during the group watching session, then control circuitry wouldrecommend a lower-quality version, e.g., HD content, instead of ahigher-quality version, such as 4K content. This is because the user whois expected to have bandwidth issues will not be able to viewhigher-quality content, e.g., for the entire duration of the groupwatching session. In some examples, after the start of the groupwatching session, when the playback parameter statistics indicate thatnone of the users are likely to experience bandwidth issues, higherquality content can be recommended to all users, and the display of thefirst media content item may be changed from a lower-quality version toa higher-quality version for each user in the group watching session. Inother examples, control circuitry may determine that a particularversion of the first media content item is most suitable for display oneach of user equipment 102 that have joined the group watching session.For example, control circuitry may determine that one or more versionsof the first media content item are more suitable for display on firstuser equipment 102 a than on the second user equipment 102 b. In somecases, when the users of a group watching session decide to watch afirst media content item, the control circuitry may recommend a firstversion of the media content item for display at the first userequipment 102 a and a second version of the media content item fordisplay at the second user equipment 102 b, e.g., based on the playbackparameters for the respective user equipment.

At step 410, a first version of the first media content item is selectedfor display at the first user equipment, and a second version of thefirst media content item is selected for display at the second userequipment. In some examples, selection of which version of the firstmedia content item to display may be made automatically, e.g., based onone or more user preferences stored in a user profile.

At step 412, the first version of the first media content item isdisplayed at the first user equipment 102 a and the second version ofthe first media content item is displayed at the second user equipment102 b. At the start of the group watching session, each of the versionsof the first media content items may be displayed concurrently, e.g., ina manner whereby the display of the different versions are synchronizedsubstantially at a frame-by-frame level, such that the first user 110and the second user 112 are viewing the first media content item atsubstantially the same time, e.g., within a frame synchronization rangeof approximately 0-5 seconds.

At step 414, control circuitry monitors, e.g., for a predeterminedperiod, at least one playback parameter relating to the operation of thefirst user equipment 102 a and the second user equipment 102 b. Forexample, control circuitry may monitor at least one of availablebandwidth and an amount of data buffered at the first user equipment 102a and the second user equipment 102 b. In some examples, thepredetermined period may be set, by a service provider who hosts thegroup watching session, e.g., at an appropriate amount of time for theservice provider to build up a large enough set of playback statisticsrelating to the playback parameters indicating an operational state ofeach of a first user equipment 102 a and a second user equipment 102 b.For example, the predetermined period may a period from the start of thegroup watching session up to an elapsed viewing time of the first mediacontent item. Alternatively, the predetermined period may be set to acertain value, e.g., approximately 1-10 minutes. In some examples, thepredetermined period may be set according to the number of participantsin the group watching session, e.g., the predetermined period to alarger value where there is a larger number of participants in the groupwatching session. Irrespective of how the predetermined period is set,the monitoring of the at least one playback parameter relating to theoperation of the first user equipment 102 a and the second userequipment 102 b is carried out so that changes in the at least oneplayback parameter can be determined during the group watching session.For example, control circuitry may be configured to perform one or moreanalytical methods on the group playback statistics to determine thelikelihood of one or more playback parameters relating to the operationof the first user equipment 102 a and the second user equipment 102 bdropping below a first playback parameter threshold.

At step 416, control circuitry determines whether at least one playbackparameter relating to the operation of the first user equipment and/orthe second user equipment is going to be less than a first playbackparameter threshold, e.g., within a period starting from the currentelapsed viewing time. For example, control circuitry may predict, basedon historic and/or current playback parameter data, whether the firstuser 110 and/or the second user 112 will (or, at least, is likely to)experience an interruption in the display of the first media contentitem at respective user equipment 102 a, 102 b, e.g., within 30 secondsfrom the current elapsed viewing time. In some examples, controlcircuitry may use bandwidth data indicating the quality of a networkconnection, e.g., network connection 114, gathered during step 414 todetermine that the network connection 114 will degrade to below a levelthat can support the display of the first version of the first mediacontent item on the first user equipment 102 a. Additionally oralternatively, control circuitry may use data indicating the size of abuffer, e.g., the amount of buffered data stored at first user equipment102 a, gathered during step 414, to determine that the amount ofbuffered data will fall to a level that may result in an interruption ofthe display of the first version of the first media content item on thefirst user equipment 102 a. In some examples, control circuitry may useone or more statistical analysis techniques to predict the likelihoodthat at least one playback parameter relating to the operation of thefirst user equipment and/or the second user equipment is going to beless than the first playback parameter threshold, e.g., within a periodstarting from the current elapsed viewing time. For example, controlcircuitry may determine statistics relating to adaptive bitratestreaming, such as the number of bitrate switches and/or the duration ofone or more bitrate switches performed by the first user equipmentand/or the second user equipment, e.g., within a period between thestart of the group watching session and the current elapsed viewingtime, and/or within other historical periods. In some examples, controlcircuitry may determine a maximum internet connectivity bandwidth thatthe user is subscribed to, e.g., by analyzing past internet connectivitybandwidth data and/or by requesting data from a service provider. Insome examples, data relating to one or more playback parameters can becollated at the first user equipment and/or the second user equipmentthroughout the day, which may be used to indicate network variationpatterns respective users are facing on that day, and thus used topredict the interruptions at each user. When it is determined that aninterruption in the display of the first media content item is not goingto happen, or the likelihood of an interruption in the display of thefirst media content item is sufficiently low, process 400 moves back tostep 412 (or 414). Where it is determined that an interruption in thedisplay of the first media content item is going to happen, or thelikelihood of an interruption in the display of the first media contentitem is sufficiently high, process 400 moves to step 418.

At step 418, control circuitry determines a period for which the atleast one playback parameter is going to be (or is) less than the firstplayback parameter threshold. For example, control circuitry maydetermine the duration of an expected interruption, e.g., based oncurrent and/or historic playback parameter data (e.g., based on groupplayback parameter statistics).

At step 420, control circuitry determines whether the period for whichthe at least one playback parameter is going to be (or is) less than thefirst playback parameter threshold is greater than a threshold period,e.g., a threshold interruption period. For example, control circuitrymay determine that the duration of an expected interruption in thedisplay of the first media content item is greater than the thresholdinterruption period. In some cases, the threshold interruption periodmay be set by a service provider hosting the group watching session. Inother cases, the threshold interruption period may be set by user 110,112, or may be set automatically based on one or more user preferencesin a user profile. The duration of the expected interruption isdetermined and compared to the threshold interruption period such thatcontrol circuitry can decide on an appropriate course of action. Forexample, where the duration of the expected interruption is less thanthe threshold interruption period, process 400 moves to step 422, e.g.,to take action similar to step 308 in process 300. Where the duration ofthe expected interruption is greater than the threshold interruptionperiod, process 400 moves to step 424. Thus, inherent in step 420 is adetermination that the expected interruption is too long for theadjustment of at least one playback characteristic of the first mediacontent item to be effective in synchronizing the display of the firstmedia content item on the user equipment 102.

At step 424, control circuitry selects a second media content item basedon the period for which the at least one playback parameter is going tobe less than the first playback parameter threshold, e.g., based on theduration of the expected interruption. For example, control circuitrymay access a content database having a plurality of second media contentitems of varying lengths. The second media content item may comprisecontent relevant to the first media content item, e.g., the second mediacontent item may comprise content recapping the content of the firstmedia content item. In some examples, the second media content item maycomprise content corresponding to one or more user preferences stored ina user profile.

At step 426, control circuitry continues to display the first mediacontent item until the expected interruption starts. For example,control circuitry continues to display the first version of the firstmedia content item at the first user equipment 102 a and the secondversion of the first media content item at the second user equipment 102b. In an example where the expected interruption is during the displayof the first media content item at the first user equipment 102 a,control circuitry pauses the display of the first media content item atthe second user equipment 102 b as the interruption begins during thedisplay of the first media content item at the first user equipment 102a. In this manner, the second user 112 does not progress further thanthe first user 110. At such point, e.g., where the group watchingsession is paused for the first user 110 and the second user 112,control circuitry may cause the display of the selected second mediacontent item on the second user equipment until the bandwidth and/or theamount of buffered data available to the first user equipment 102 a isat least partially restored, e.g., to a level that allows the display ofthe first media content item at the first user equipment 102 a toresume. In some examples, a second media content item may be displayedon the first user equipment 102 a during the period of interruption.However, in such cases, the second media content item may be accessibleto the first user equipment 102 a without network connection 114. Insome examples, in response to determining that an interruption in thedisplay of the first media content item is expected, control circuitrymay cause a second media content item to be downloaded, such that thesecond media content item can be viewed without a network connection.Once the period of interruption has elapsed, and the second mediacontent item has been displayed, process 400 returns to step 412 (or414) and the group watching session is resumed.

In examples where the period of interruption is less than the thresholdinterruption period, process 400 moves to step 422, where controlcircuitry selectively adjusts the playback speed or the playback qualityof the first version of the first media content item on the first userequipment and/or the playback speed or the playback quality of thesecond version of the first media content item on the second userequipment, e.g., based on step 428 and step 430. For example, there arecertain conditions under which an adjustment to the playback speed maybe preferred over an adjustment to the playback quality, or vice versa,such as conditions relating to user preference and/or the type, e.g.,genre, of the first media content item being displayed during the groupwatching session.

At step 428, control circuitry determines one or more user preferencesof one or more users who are participating in the group watchingsession. For example, control circuitry may access a user profile of thefirst user 110 and/or a user profile of the second user 112, todetermine a user preference for viewing media content at an adjustedquality or an adjusted playback speed.

At step 430, control circuitry determines the type of the first mediacontent item, e.g., based on metadata for the first media content item,which may be accessible by at least the first user equipment 102 a, thesecond user equipment 102 b and the server 106 over network 104. Forexample, control circuitry may determine the genre of the first mediacontent item, or the type of content being shown in a particular sceneor frame of the first media content item. In some cases, it may bepreferable to adjust the playback quality over an adjustment to theplayback speed. For example, where the first media content itemcomprises a fast-paced content item having lots of speech, it may bedesirable to reduce the quality of a visual characteristic, while thequality of the audio characteristics and the playback speed aremaintained. However, in other examples, it may be preferable to adjust adifferent playback characteristic, or combination of playbackcharacteristics, based on the type of content being displayed in thegroup watching session, e.g., in a period leading up to the expectedinterruption.

Following the above example where the interruption is expected to occuron the first user equipment 102 a, at step 422, control circuitryselectively adjusts one or more playback characteristics of the firstversion of the first media content item being displayed on the firstuser equipment 102 a. Selection of which playback characteristic(s) toadjust may be made following the determinations made in step 428 and/orstep 430. In examples where step 428 and/or step 430 has not beencarried out, the control circuitry selectively adjusts one or moreplayback characteristics of the first version of the first media contentitem being displayed on the first user equipment 102 a based on adefault setting that is set to minimize the period for which the one ormore playback characteristics of the first version of the first mediacontent item are adjusted, which aims at minimizing any reduction inplayback quality for one or more users in the group watching session.Process 400 then returns to step 412 (or 414) and repeats for theduration of the group watching session.

The actions or descriptions of FIGS. 4A and 4B may be used with anyother example of this disclosure. In addition, the actions anddescriptions described in relation to FIGS. 4A and 4B may be done in anysuitable alternative orders or in parallel to further the purposes ofthis disclosure.

The processes described above are intended to be illustrative and notlimiting. One skilled in the art would appreciate that the steps of theprocesses discussed herein may be omitted, modified, combined, and/orrearranged, and any additional steps may be performed without departingfrom the scope of the invention. More generally, the above disclosure ismeant to be exemplary and not limiting. Only the claims that follow aremeant to set bounds as to what the present invention includes.Furthermore, it should be noted that the features and limitationsdescribed in any one example may be applied to any other example herein,and flowcharts or examples relating to one example may be combined withany other example in a suitable manner, done in different orders, ordone in parallel. In addition, the systems and methods described hereinmay be performed in real time. It should also be noted that the systemsand/or methods described above may be applied to, or used in accordancewith, other systems and/or methods.

1. A method for synchronizing playback of media content items comprising: displaying a first media content item at first user equipment and second user equipment; determining, using control circuitry, at least one playback parameter relating to the operation of the first user equipment and/or the second user equipment; determining, using control circuitry, whether the at least one playback parameter is less than a first playback parameter threshold; adjusting, in response to determining that the at least one playback parameter is less than the first playback parameter threshold, at least one playback characteristic of the first media content item at the first user equipment and/or the second user equipment to cause the display of the first media content item at first user equipment and second user equipment to be synchronized.
 2. The method of claim 1, the method further comprising: monitoring, for a predetermined period, the at least one playback parameter relating to the operation of the first user equipment and/or the second user equipment; and predicting whether the at least one playback parameter will be less than the first playback parameter threshold based on monitoring the at least one playback parameter over the predetermined period.
 3. The method of claim 1, wherein the at least one playback parameter comprises: a bandwidth available to the first user equipment; a bandwidth available to the second user equipment; an amount of data buffered on the first user equipment; and/or an amount of data buffered on the second user equipment.
 4. The method of claim 1, wherein the at least one playback characteristic comprises: a playback speed of the first media content item at the first user equipment; a playback speed of the first media content item at the second user equipment; a playback quality of the first media content item at the first user equipment; and/or a playback quality of the first media content item at the second user equipment.
 5. The method of claim 4, the method further comprising: determining a period for which the at least one playback parameter is less than the first playback parameter threshold; and selectively adjusting the playback speed or the playback quality based on the period for which the at least one playback parameter is less than the first playback parameter threshold.
 6. The method of claim 4, the method further comprising: determining one or more user preferences of a user of the first user equipment and/or a user of the second user equipment; and selectively adjusting the playback speed or the playback quality based on the one or more user preferences.
 7. The method of claim 4, the method further comprising: determining the type of the first media content item; and selectively adjusting the playback speed or the playback quality based on the type of the first media content item.
 8. The method of claim 1, the method further comprising: determining a period for which at least one playback parameter of the first user equipment is less than the first playback parameter threshold; determining whether the period is greater than a threshold period; and selecting, in response to determining that the period is greater than the threshold period, a second media content item for display.
 9. The method of claim 8, the method further comprising: displaying the second media content item on the second user equipment during the period for which the at least one playback parameter of the first user equipment is less than the first playback parameter threshold.
 10. The method of claim 1, the method further comprising: determining the at least one playback parameter prior to displaying the first media content item; and selecting a first version of the first media content item for display at first user equipment and a second version of the first media content item for display at second user equipment based on the at least one playback parameter.
 11. A system for synchronizing playback of media content items, the system comprising: control circuitry configured to: display a first media content item at first user equipment and second user equipment; determine at least one playback parameter relating to the operation of the first user equipment and/or the second user equipment; determine whether the at least one playback parameter is less than a first playback parameter threshold; adjust, in response to determining that the at least one playback parameter is less than the first playback parameter threshold, at least one playback characteristic of the first media content item at the first user equipment and/or the second user equipment to cause the display of the first media content item at first user equipment and second user equipment to be synchronized.
 12. The system of claim 11, wherein the control circuitry is configured to: monitor, for a predetermined period, the at least one playback parameter relating to the operation of the first user equipment and/or the second user equipment; and predict whether the at least one playback parameter will be less than the first playback parameter threshold based on monitoring the at least one playback parameter over the predetermined period.
 13. The system of claim 11, wherein the at least one playback parameter comprises: a bandwidth available to the first user equipment; a bandwidth available to the second user equipment; an amount of data buffered on the first user equipment; and/or an amount of data buffered on the second user equipment.
 14. The system of claim 11, wherein the at least one playback characteristic comprises: a playback speed of the first media content item at the first user equipment; a playback speed of the first media content item at the second user equipment; a playback quality of the first media content item at the first user equipment; and/or a playback quality of the first media content item at the second user equipment.
 15. The system of claim 14, wherein the control circuitry is configured to: determine a period for which the at least one playback parameter is less than the first playback parameter threshold; and selectively adjust the playback speed or the playback quality based on the period for which the at least one playback parameter is less than the first playback parameter threshold.
 16. The system of claim 14, wherein the control circuitry is configured to: determine one or more user preferences of a user of the first user equipment and/or a user of the second user equipment; and selectively adjust the playback speed or the playback quality based on the one or more user preferences.
 17. The system of claim 14, wherein the control circuitry is configured to: determine the type of the first media content item; and selectively adjust the playback speed or the playback quality based on the type of the first media content item.
 18. The system of claim 11, wherein the control circuitry is configured to: determine a period for which at least one playback parameter of the first user equipment is less than the first playback parameter threshold; determine whether the period is greater than a threshold period; and select, in response to determining that the period is greater than the threshold period, a second media content item for display.
 19. The system of claim 18, wherein the control circuitry is configured to: display the second media content item on the second user equipment during the period for which the at least one playback parameter of the first user equipment is less than the first playback parameter threshold.
 20. The system of claim 11, wherein the control circuitry is configured to: determine the at least one playback parameter prior to displaying the first media content item; and select a first version of the first media content item for display at first user equipment and a second version of the first media content item for display at second user equipment based on the at least one playback parameter. 21-40. (canceled) 